Server and method of identifying unsupported drives in a server

ABSTRACT

A method of identifying an unsupported storage device on a server is disclosed as including providing the server with a baseboard management controller (BMC), the BMC obtaining vital product data (VPD) from a storage device on the server, the BMC comparing the VPD from the storage device with one or more approved VPDs, and the BMC issuing an output in response to said comparison.

This invention relates to a server and a method of identifying unsupported drives in a server.

BACKGROUND OF THE INVENTION

Computer customers tend to find ways to save money on server options, especially new technology storage devices like Non-Volatile Memory Express (NVMe) drives. Challenges have been entered during NVMe drive qualification that shows that full support of NVMe drives requires rigorous testing to provide a stable and robust storage solution. Unfortunately, a customer that does not purchase an approved or qualified NVMe storage option may encounter these compatibility issues and may drive service calls and cost to both the customer and the manufacturer and/or supplier.

There is currently no arrangement in place that restricts a customer from installing non-qualified or non-supported storage devices into a server. This situation may lead to bad customer experience since there may be impacts on loss of data due to incompatibilities with the server and non-qualified/supported NVMe devices.

It is thus an object of the present invention to provide a server and a method in which the aforesaid shortcomings are mitigated or at least to provide a useful alternative to the trade and public.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention, there is provided a method of identifying an unsupported storage device on a server, including providing said server with a baseboard management controller (BMC), said BMC obtaining at least one piece of vital product data (VPD) from a storage device on said server, said BMC comparing said VPD from said storage device with a list of approved VPD, and said BMC issuing an output in response to results of said comparing.

According to a second aspect of the present invention, there is provided a server including a baseboard management controller (BMC), and a storage device, said BMC being configured to obtain at least one piece of vital product data (VPD) from said storage device, said BMC being configured to compare said VPD from said storage device with a list of approved VPD, and said BMC being configured to issue an output in response to results of said comparing.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described, by way of examples only, with reference to the accompanying drawings, in which:

FIG. 1 is a schematic diagram of a server with a number of SATA/SAS drives according to a first embodiment of the present invention, and

FIG. 2 is a schematic diagram of a server with a number of NVMe drives according to a second embodiment of the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The present invention allows for detection of an unsupported storage device on a server at runtime, and responding thereto.

A first step in such a process involves identifying whether the storage device(s) on a server is supported or not. In the arrangement shown in FIG. 1, a server 100 includes a number of serial attached SCSI (SAS) drives and/or serial AT attachment (SATA) drives 102 a, 102 b, 102 c connected to a drive back plane 104 with a small computer system interface (SCSI) Enclosure Processor (SEP) 105. A Baseboard Management Controller (BMC) 106 of the server 100 is also connected with the drive back plane 104 via an Inter-Integrated Circuit (I²C) 108. For accessing the SAS drives and/or SATA drives 102 a, 102 b, 102 c, the BMC 106 is connected with a Redundant Array of Independent Disks (RAID)/host bus adapter (HBA) controller 110 via a Management Component Transport Protocol (MCTP) over Peripheral Component Interconnect Express (PCIe) (112). The RAID/HBA controller 110 is connected with the SAS drives and/or SATA drives 102 a, 102 b, 102 c via the drive back plane 104.

The BMC 106 may access or be provided with a list or table (so called “White List”) containing Vital Product Data (VPD) of supported storage devices. VPD is a collection of configuration and informational data associated with a particular set of hardware or software. In particular, VPD stores information such as part numbers, serial numbers, manufacturers, product identity (ID) details, etc. VPD data are usually burned onto EEPROMs associated with various hardware components.

In the arrangement shown in FIG. 1, the BMC 106 may query the SAS drives and/or SATA drives 102 a, 102 b, 102 c for their respective VPD by communicating with the RAID/HBA controller 110 through the MCTP over PCIe 112. The VPD of the SAS drives and/or SATA drives 102 a, 102 b, 102 c thus obtained may then be compared with the VPD of supported storage devices in the White List. In case the VPD of any of the SAS drives and/or SATA drives 102 a, 102 b, 102 c cannot be located in the White List, thus resulting in a negative comparing result, the BMC 106 will issue an output. Such an output may be an alert in the form of a visual and/or audio indication to a user, or instructions to cause the specific storage device(s) whose VPD cannot be located in the White List to assume STANDBY mode, whereby drive cache is flushed and I/O operation is stopped. In particular, the BMC 106 may command the SCSI enclosure processor (SEP) 105 on the back plane 104 of the server 100 to disconnect power supply to the specific SAS drive(s) or SATA drive(s) 102 a, 102 b, 102 c whose VPD cannot be located in the White List, e.g. by the SEP 105 controlling the state of the drive's PWRDIS pin (P3). In addition, such an output may be a warning event, or that the system status be turned to warning. The customer may then check the system status and BMC events on BMC web graphic user interface (GUI) or other standard system management interfaces. The customer will also receive an e-mail if the event is subscribed as an e-mail alert.

In the arrangement shown in FIG. 2, a server 200 includes a number of NVMe drives 202 a, 202 b, 202 c connected to a drive back plane 204 with a small computer system interface (SCSI) Enclosure Processor (SEP) 205. The NVMe drives 202 a, 202 b, 202 c connected are also connected to an inter-integrated circuit (I²C) multiplexer 206. A Baseboard Management Controller (BMC) 208 of the server 200 is also connected with the drive back plane 204 via an Inter-Integrated Circuit (I²C) 210. The BMC 208 may then access the NVMe drives 202 a, 202 b, 202 c and obtain their VPD via an NVMe management interface (MI) or an out-of-band (OOB) management channel over the I²C 210.

The VPD of the NVMe drives 202 a, 202 b, 202 c thus obtained may then be compared with the VPD of supported storage devices in the White List. In case the VPD of any of the NVMe drives 202 a, 202 b, 202 c cannot be located in the White List, thus resulting in a negative comparing result, the BMC 208 will issue an output. Such an output may be an alert in the form of a visual and/or audio indication to a user, or instructions to cause the specific storage device(s) whose VPD cannot be located in the White List to assume STANDBY mode, whereby drive cache is flushed and I/O operation is stopped. In particular, the BMC 208 may command the SCSI enclosure processor (SEP) 205 on the back plane 204 of the server 200 to disconnect power supply to the specific storage device(s) whose VPD cannot be located in the White List, e.g. by the SEP 205 controlling the state of the drive's PWRDIS pin (P3). In addition, such an output may be a warning event, or that the system status be turned to warning. The customer may then check the system status and BMC events on BMC web graphic user interface (GUI) or other standard system management interfaces. The customer will also receive an e-mail if the event is subscribed as an e-mail alert.

It should be understood that the above only illustrates examples whereby the present invention may be carried out, and that various modifications and/or alterations may be made thereto without departing from the spirit of the invention.

It should also be understood that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any appropriate sub-combinations. 

1. A method of identifying an unsupported storage device on a server, including: providing said server with a baseboard management controller (BMC), said BMC obtaining at least one piece of vital product data (VPD) from a storage device on said server, said BMC comparing said VPD from said storage device with one or more approved VPDs, and said BMC issuing an output in response to said comparison.
 2. The method of claim 1, wherein said storage device includes a serial attached SCSI (SAS) drive, a serial AT attachment (SATA) drive, or a non-volatile memory express (NVMe) drive.
 3. The method of claim 2, wherein said BMC obtains said at least one piece of VPD from said storage device via a redundant array of independent disks (RAID) controller or a host bus adapter (HBA) controller in said server.
 4. The method of claim 3, wherein said BMC obtain said at least one piece of VPD from said storage device via said RAID controller or said HBA controller in said server via a management component transport protocol (MCTP) over peripheral component interconnect express (PCIe).
 5. The method of claim 2, wherein said storage device is connected to an inter-integrated circuit (I²C) device.
 6. The method of claim 2, wherein said BMC obtains said at least one piece of VPD from said storage device via an NVMe management interface or an out-of-band (OOB) management channel.
 7. The method of claim 6, wherein said BMC obtains said at least one piece of VPD from said storage device via said NVMe management interface over an inter-integrated circuit (I²C) device.
 8. The method of claim 1, wherein, in response to a mismatch between said at least one piece of VPD from said storage device with said one or more approved VPDs, said BMC issuing an alert to a user.
 9. The method of claim 1, wherein, in response to a mismatch between said at least one piece of VPD from said storage device with said one or more approved VPDs, said BMC forces said storage device to STANDBY mode.
 10. The method of claim 10, wherein, in response to said mismatch between at least one piece of VPD from said storage device with said one or more approved VPDs, said BMC commands a processor on a backplane of said server to disconnect power supply to said storage device.
 11. A server including: a baseboard management controller (BMC), and a storage device, said BMC being configured to obtain at least one piece of vital product data (VPD) from said storage device, said BMC being configured to compare said VPD from said storage device with one or more approved VPDs, and said BMC being configured to issue an output in response to said comparison.
 12. The server of claim 11, wherein said storage device includes a serial attached SCSI (SAS) drive, a serial AT attachment (SATA) drive or a non-volatile memory express (NVMe) drive.
 13. The server of claim 11, wherein said BMC is configured to obtain said at least one piece of VPD from said storage device via a redundant array of independent disks (RAID) controller or a host bus adapter (HBA) controller in said server.
 14. The server of claim 11, wherein said BMC is configured to obtain said at least one piece of VPD from said storage device via said RAID or said HBA via a management component transport protocol (MCTP) over peripheral component interconnect express (PCIe).
 15. (canceled)
 16. The server of claim 11, wherein said BMC is configured to obtain said at least one piece of VPD from said storage device via a NVMe management interface or an out-of-band (OOB) management channel
 17. The server of claim 16, wherein said BMC is configured to access and obtain said at least one piece of VPD from said storage device via said NVMe management interface over an inter-integrated circuit (I²C) device.
 18. The server of claim 11, wherein said BMC is configured to issue an alert to a user in response to a mismatch between said VPD from said storage device with one or more approved VPDs.
 19. The server of claim 11, wherein, in response to a mismatch between said at least one piece of VPD from said storage device with said one or more approved VPDs, said BMC is operable to force said storage device to STANDBY mode.
 20. The server of claim 11, wherein, in response to said mismatch, said BMC commands a processor on a backplane of said server to disconnect power supply to said storage device.
 21. The server of claim 11, wherein said at least one piece of VPD from said storage device comprises any one of part numbers, serial numbers, manufacturers and product identity (ID) details of said storage device. 